IPS PowerShell module (Automation cmdlets)

The IPS PowerShell module provides a set of cmdlets that can be used to perform administrative tasks for a Planning Space deployment. You can include the cmdlets in PowerShell scripts to automate tasks.

The module requires at minimum version 3.0 of PowerShell.

(Note for using PowerShell scripts for IPS administration: PowerShell has an ExecutionPolicy setting which is by default set to 'Restricted', which prevents all scripts from running. To use scripts for administration will require setting the ExecutionPolicy to 'RemoteSigned', which is generally recommended by Microsoft, or 'Unrestricted'.)

Installation: IPS Server

The module is installed automatically as part of the IPS Server installation. The files are installed in the 'Palantir' programs folder, for example 'C:\Program Files\Palantir\PalantirIPS 20.3\Powershell', and the Windows environment variable '$env:PSmodulepath' is modified to include this folder. You do not need to do any further installation if you are using the module on an IPS Server machine.

You can test that the module is installed correctly with the following PowerShell command:

Copy
Get-Command -Module Palantir.IPS.Manager.Automation

You should see a listing of all of the cmdlets.

Manual installation

Contact Quorum Support if you require the Powershell module as a ZIP file source. The module can also be copied (by a server Administrator) from the IPS Server location shown above.

The installation ZIP file contains two help files (README.txt and INSTALL.txt) and the folder 'Palantir.IPS.Manager.Automation' which contains all of the IPS PowerShell module files.

The folder needs to be installed at some place in your computer's PowerShell lookup path. Your 'PSModulePath' variable for PowerShell should look something like this, by default:

PS> $env:PSmodulepath

C:\Users\{USERNAME}\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules

If you are non-Administrator user, copy the 'Palantir.IPS.Manager.Automation' folder into your own folder 'Documents\WindowsPowerShell\Modules':

  1. Create a folder 'C:\Users\{USERNAME}\Documents\WindowsPowerShell\Modules' (if it does not exist).
  2. Paste in a copy of the folder 'Palantir.IPS.Manager.Automation'.

If you are an Administrator user, you can make the module available to all users of a machine by adding the 'Palantir.IPS.Manager.Automation' folder to 'C:\Program Files\WindowsPowerShell\Modules'.

You can test that the module is installed correctly with the following PowerShell command:

Copy
Get-Command -Module Palantir.IPS.Manager.Automation

You should see a listing of all of the cmdlets.

Using the cmdlets

All of the cmdlets, except for 'Test-Server', require a server login with 'Connect-IPSManager'. For example:

Copy
Connect-IPSManager https://ips.mycompany.com

with the output:

IsSuccess            : True
Errors               : 
Url                  : https://ips.mycompany.com
ServerVersion        : 20.3.0.4011
UserName             : MYCOMPANY\ipsadmin
IsMemberOfAdminGroup : True
IsServerLicensed     : True

The authentication of your connection is based on the Windows user account that executes the 'Connect-IPSManager' command. The account must be a member of the IPS Administrators Group. (See Using IPS Manager.)

You should disconnect from the server when the connection is no longer required:

Copy
Disconnect-IpsManager

Note on connection to an IPS server cluster: When you connect to a cluster of server machines, you have the option to connect to the load balancer (i.e., by using the service address), which will automatically select one of the server machines to connect to, or to connect directly to a specific server machine. There are a few cmdlets intended for use with specific server machines, when adding or removing machines to/from a cluster, or changing the primary server machine: Get-IsPartOfCluster, Get-IsPrimaryServer, Join-ClusterAsPrimaryServer, and Join-ClusterAsSecondaryServer.

For explanation of the settings that are covered by the cmdlets, see IPS Server configuration, Licensing and Applications settings.

Using the module help information

The cmdlets follow the standard PowerShell 'verb-noun' convention.

The module contains comprehensive help information for all of the cmdlets. Use the table of cmdlets below to look up a cmdlet name and then access the help information with 'Get-Help'. For example:

Copy
Get-Help Get-TenantClusterTempFolder -full

You can use the Windows Powershell ISE tool to explore the contents of the module: open the Command add-on and in the 'Module' selection box select 'Palantir.IPS.Manager.Automation'.

Cmdlet listing for Palantir.IPS.Manager.Automation

For explanation of the settings that are covered by the cmdlets, see IPS Server configuration, Licensing and Applications settings.

Cmdlet name Description
Add-ApplicationAccess Gives tenant access to the specified application.
Add-Tenant Adds a new tenant to the current PalantirIPS server.
Add-TenantAuthenticationMethod Enables the given authentication method for the specified tenant.
Clear-UserSession Removes all user sessions for a specified tenant. If the license server is in CentralizedPool mode, all user sessions will be removed.
Connect-IpsManager Connects to a running instance of PalantirIPS Manager. It checks if the current Windows user is a member of the configured IPS Admin Group. Except for the Test-Server cmdlet, all other PalantirIPS Manager automation cmdlets require that Connect-IpsManager first be called successfully.
ConvertTo-EncryptedText Converts plain text strings into encrypted strings with Aucerna encryption logic. The encrypted string created by the cmdlet can be used with cmdlets or functions that require an encrypted string e.g. password.
Disable-Tenant Disables a tenant on the current PalantirIPS server.
Disconnect-IpsManager Disconnects from the current PalantirIPS Manager session and removes all Powershell session variables associated with it.
Enable-Tenant Enables a tenant on the current PalantirIPS server.
Enter-MaintenanceMode Switches a specified server to maintenance mode, preventing it from accepting jobs. Once all jobs that are in progress finish, the server can be safely removed from the cluster.
Get-Application Retrieves the list of applications deployed in the current PalantirIPS server.
Get-ApplicationCachePort Retrieves the configured distributed cache port of the specified application.
Get-ApplicationClientSetting Retrieves a tenant's client application settings.
Get-ApplicationEventLogLevel Retrieves the event log level of an application.
Get-ApplicationGroup Retrieves the list of application groups deployed in the current PalantirIPS server.
Get-ApplicationMainLogLevel Retrieves the main log level of an application.
Get-ApplicationProcessingPort Retrieves the configured distributed processing port of the specified application.
Get-ApplicationProcessorAffinity Retrieves a list of processors that are bound to the application process (eg. a returned list of 1,3,4 means that CPU1, CPU3, and CPU4 are bound to the application process).
Get-ApplicationServiceSetting Retrieves the value of a specified service setting for an application.
Get-AuthorizedClusterGroup Retrieves the configured authorized cluster group from the current PalantirIPS server.
Get-ClusterPort Retrieves the configured cluster management port from the current PalantirIPS server.
Get-EventLogLevel Retrieves the configured event logging level from the current PalantirIPS server.
Get-GenerateMemoryDump Retrieves the configured value for the setting that tells the PalantirIPS server whether to generate or not a memory dump when an unhandled exception occurs on the server.
Get-IpsServerLicense Retrieves a list of all the current server licenses on the IPS server. Revoked licenses will be excluded.
Get-IsPartOfCluster Checks if the current PalantirIPS server is part of a cluster.
Get-IsPrimaryServer Checks if the current PalantirIPS server is the primary server of a cluster.
Get-LicenseServerUrl Retrieves the base url of the license server. If the license server is in PerTenant mode, the tenant parameter must be specified.
Get-LicensingMode Retrieves the current licensing mode of the IPS server.
Get-MailSettings Retrieves the configured Mail settings for the current PalantirIPS server.
Get-MainLogLevel Retrieves the configured main logging level for the current PalantirIPS server.
Get-MaxWorkerUsage Retrieves the configured max worker usage for the specified processing category.
Get-MonitorPort Retrieves the configured monitor port from the current PalantirIPS server.
Get-PeriodicTaskPoolSize Retrieves periodic task pool size for the specified server.
Get-ProcessingCategoryList Retrieves the list of processing categories of the current PalantirIPS server.
Get-ProcessorAffinity Retrieves a list of processors that are binded to the IPS worker process (eg. a returned list of 1,3,4 means that CPU1, CPU3, and CPU4 are binded).
Get-ProcessorList Retrieves a list of processors that can be used by IPS Workers. To set processor affinity for IPS Workers, please see the Get-ProcessorAffinity and Set-ProcessorAffinity cmdlets.
Get-ProductLicense Retrieves a list of all the current product licenses on the license server. Revoked licenses will be excluded.
Get-ProxySetting Retrieves the current proxy setting for the license server.
Get-ServerAddress Retrieves the configured server address of the current PalantirIPS server.
Get-ServerList Retrieves the list of PalantirIPS servers. If the current PalantirIPS server is a standalone server, this will return a list of one. If the current PalantirIPS server is a member of a server cluster, this will return list of all servers belonging to the cluster.
Get-ServerSetting Retrieves the value of a specified PalantirIPS server setting.
Get-ServerTaskPoolSize Retrieves server task pool size for the specified server.
Get-ServiceCertificate Retrieves the configured service certificate for the current PalantirIPS server.
Get-ServiceSetting Retrieves the value of a specified PalantirIPS Service setting.
Get-ShowTenantsOnRootPage Retrieves the value of the setting that controls whether tenants will be shown on the server root page when logging into IPS.
Get-Tenant Retrieves the list of tenants on the current PalantirIPS server.
Get-TenantApplication Retrieves the list of applications the specified tenant has access to.
Get-TenantAuthenticationMethod Retrieves the list of authentication methods the specified tenant can login with.
Get-TenantCloudStorage Retrieves the cloud storage settings of the specified tenant.
Get-TenantClusterTempFolder Retrieves the tenant cluster temp folder location for a specified tenant.
Get-TenantDataSource Retrieves the data source of the specified tenant.
Get-TenantSAML2IdentityProvider Gets the SAML2 identity provider of the specified tenant.
Get-TenantTokenLifetime Gets the token lifetime of the specified tenant.
Get-UserSession Retrieves a list of user session information from the license server.
Get-WebServerPort Retrieves the configured web server port for the current PalantirIPS server.
Get-WorkerAllocationStrategy Retrieves the worker allocation strategy for the specified server.
Get-WorkerCount Retrieves worker count for the specified server.
Import-IpsServerLicense Imports an IPS server license from a specified location.
Import-ProductLicense Imports a product license from a specified location.
Join-ClusterAsPrimaryServer Configures the current PalantirIPS server to join a cluster as the primary server.
Join-ClusterAsSecondaryServer Configures the current PalantirIPS server to join a cluster as a secondary server.
Remove-ApplicationAccess Removes a tenant's access to the specified application.
Remove-ProductLicense Removes a current product license from the server. Revoking a license cannot be undone; removed licenses cannot be reuploaded.
Remove-Tenant Removes the specified tenant from the current PalantirIPS server.
Remove-TenantAuthenticationMethod Disables the given authentication method for the specified tenant.
Remove-TenantCloudStorage Removes cloud storage settings from specified tenant.
Remove-UserSession Removes a specified user session from license server.
Reset-ApplicationClientSetting Resets a tenant's client application settings.
Reset-ApplicationServiceSetting Resets the value of a specified setting for an application's server module.
Reset-ServerSetting Resets a specified server setting.
Reset-ServiceSetting Resets a specified Service setting.
Restart-Application Restarts the server-side module of an application.
Set-ApplicationCachePort Sets the distributed cache port of an application.
Set-ApplicationClientSetting Sets the value of a tenant's client application setting.
Set-ApplicationEventLogLevel Sets the event log level of an application.
Set-ApplicationMainLogLevel Sets the main log level of an application.
Set-ApplicationProcessingPort Sets the distributed processing port of an application.
Set-ApplicationProcessorAffinity Allocates or de-allocates a processor to or from an application process on a specified server. Any processor not in the ProcessorList will be deallocated.
Set-ApplicationServiceSetting Sets the value of a specified setting for an application's server module.
Set-AuthorizedClusterGroup Sets the authorized cluster group of the current PalantirIPS server.
Set-ClusterPort Sets the cluster management port.
Set-EventLogLevel Sets the event logging level for the current PalantirIPS server.
Set-GenerateMemoryDump Sets the value that determines whether PalantirIPS will generate a memory dump if a fatal exception occurs.
Set-LicensingMode Sets the licensing mode of the IPS server. The valid modes are CentralizedPool and PerTenant.
Set-MailSettings Sets values for the Mail settings of the current PalantirIPS server.
Set-MainLogLevel Sets the main logging level for the current PalantirIPS server.
Set-MaxWorkerUsage Sets the maximum number of workers that can be used by the specified processing category.
Set-MonitorPort Sets the monitor port of the current PalantirIPS server.
Set-PeriodicTaskPoolSize Sets the number of periodic task pool size for a server.
Set-PrimaryServer Sets the given PalantirIPS server to be the primary server of a cluster. The current primary server will be set to false.
Set-ProcessorAffinity Allocates or de-allocates a processor to or from a processing category on a specified server. Any processor not in the ProcessorList will be deallocated.
Set-ProxySetting Changes the proxy setting of the license server.
Set-ServerAddress Sets the server address of the current PalantirIPS server.
Set-ServerSetting Sets the value of a specified PalantirIPS server setting.
Set-ServerTaskPoolSize Sets the number of server task pool size for a server.
Set-ServiceCertificate Sets the certificate value settings of the current PalantirIPS server.
Set-ServiceSetting Sets the value of a PalantirIPS Service setting.
Set-ShowTenantsOnRootPage Sets the value of the setting that controls whether to show the tenant list in the server root page.
Set-TenantAwsCloudStorage Sets the AWS cloud storage settings of the specified tenant.
Set-TenantAzureCloudStorage Sets the Azure cloud storage settings of the specified tenant.
Set-TenantClusterTempFolder Sets the tenant cluster temp folder location for a specified tenant. To use this cmdlet, the tenant data source must first be set. Both your IPS and SQL server will also require access rights to the location you specify.
Set-TenantDataSource Sets the data source of the specified tenant.
Set-TenantSAML2IdentityProvider Sets the SAML2 identity provider of the specified tenant.
Set-TenantTokenLifetime Sets the token lifetime of the specified tenant.
Set-WorkerAllocationStrategy Sets the worker allocation strategy for a server.
Set-WorkerCount Sets the number of workers for a server.
Test-Server Performs tests to check if all the web applications hosted in the current PalantirIPS server are accessible. This cmdlet does not require Connect-IpsManager to be called first.
Use-Http Configures the current PalantirIPS server to use http.
Use-SecureHttp Configures the current PalantirIPS server to use secure http.
Use-SslOffloading Configures the current PalantirIPS server to use SSL offloading.